package com.ruoyi.training.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 实践预约班级学生中间对象 practice_class_student
 * 
 * @author WorrilessGo
 * @date 2025-10-14
 */
public class PracticeClassStudent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 实践预约表班级表学生表中间表id */
    private String practiceClassStudentId;

    /** 实践预约表id */
    @Excel(name = "实践预约表id")
    private String practiceAppointmentId;

    /** 班级表id */
    @Excel(name = "班级表id")
    private String trainingClassId;

    /** 项目d */
    @Excel(name = "学员id")
    private String projectId;

    /** 学员id */
    @Excel(name = "学员id")
    private String studentId;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 预约来源(0-个人预约，1-安排) */
    @Excel(name = "预约来源(0-个人预约，1-安排)")
    private String appointmentSource;

    /** 考试状态(0-未排考，1-已排考) */
    @Excel(name = "考试状态(0-未排考，1-已排考)")
    private String examStatus;

    /** 实践状态(0-未实践，1-已实践) */
    @Excel(name = "实践状态(0-未实践，1-已实践)")
    private String practiceStatus;


    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentTime;

    /** 预约状态（0-已预约 2-取消预约） */
    @Excel(name = "预约状态", readConverterExp = "0=-已预约,2=-取消预约")
    private String appointmentStatus;

    public void setPracticeClassStudentId(String practiceClassStudentId) 
    {
        this.practiceClassStudentId = practiceClassStudentId;
    }

    public String getPracticeClassStudentId() 
    {
        return practiceClassStudentId;
    }

    public String getPracticeAppointmentId() {
        return practiceAppointmentId;
    }

    public void setPracticeAppointmentId(String practiceAppointmentId) {
        this.practiceAppointmentId = practiceAppointmentId;
    }

    public void setTrainingClassId(String trainingClassId)
    {
        this.trainingClassId = trainingClassId;
    }

    public String getTrainingClassId() 
    {
        return trainingClassId;
    }

    public void setStudentId(String studentId) 
    {
        this.studentId = studentId;
    }

    public String getStudentId() 
    {
        return studentId;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setAppointmentSource(String appointmentSource) 
    {
        this.appointmentSource = appointmentSource;
    }

    public String getAppointmentSource() 
    {
        return appointmentSource;
    }

    public void setExamStatus(String examStatus) 
    {
        this.examStatus = examStatus;
    }

    public String getExamStatus() 
    {
        return examStatus;
    }

    public void setAppointmentTime(Date appointmentTime) 
    {
        this.appointmentTime = appointmentTime;
    }

    public Date getAppointmentTime() 
    {
        return appointmentTime;
    }

    public void setAppointmentStatus(String appointmentStatus) 
    {
        this.appointmentStatus = appointmentStatus;
    }

    public String getAppointmentStatus() 
    {
        return appointmentStatus;
    }

    public String getPracticeStatus() {
        return practiceStatus;
    }

    public void setPracticeStatus(String practiceStatus) {
        this.practiceStatus = practiceStatus;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    @Override
    public String toString() {
        return "PracticeClassStudent{" +
                "practiceClassStudentId='" + practiceClassStudentId + '\'' +
                ", practiceAppointmentId='" + practiceAppointmentId + '\'' +
                ", trainingClassId='" + trainingClassId + '\'' +
                ", projectId='" + projectId + '\'' +
                ", studentId='" + studentId + '\'' +
                ", remarks='" + remarks + '\'' +
                ", appointmentSource='" + appointmentSource + '\'' +
                ", examStatus='" + examStatus + '\'' +
                ", practiceStatus='" + practiceStatus + '\'' +
                ", appointmentTime=" + appointmentTime +
                ", appointmentStatus='" + appointmentStatus + '\'' +
                '}';
    }
}
